const thunk = ({dispatch, getState}) => next => action =>{
  //一定要注意，当代码可以执行到这里的时候，就证明已经是进入dispatch了，这里是需要进行派发了
  //如果不用中间件则直接派发，因此有一个next(action),如果只有一个中间件的话next其实就是dispatch
  //也就是next在最后一次执行的时候是指向dispatch的
  //compose(fn1,fn2,fn3) >>> fn1(fn2(fn3))其中fn1的next就是fn2
  if (typeof action === 'function'){
    //action就是传入的最后一个参数，可以是函数，也可以是一个对象， 如果是一个函数的话就需要进行下面的校验
    //第一个和第二个参数是midApi中的传入的
    console.log('9', dispatch)
    console.log('10', next)
    return action(dispatch, getState)
  }
  return next(action)
}

export default thunk